第一章:介绍
1.1什么是NASM ?
NASM (The Netwide Assembler),是一个为可移植性和模块化设计的80x86和x86−64汇编器。它支持一系列对象文件格式,包括Linux和BSD的a.out,ELF,COFF,Mach−O,微软16位OBJ,Win32和Win64。它还可以输出纯二进制文件。它的语法设计简单,容易理解,类似于英特尔格式但不那么复杂。它支持目前所有已知的x86架构的扩展,并大力支持宏。

1.1.1为什么还要一个汇编器?
Nasm诞生于comp.lang.asm.x86上的一个想法(或可能是alt.lang。asm -我忘了是哪个 -_-b),实际上似乎是没有一个很好的免费x86−系列汇编器,也许有人应该编写一个。

•a86是好的,但不是免费的,特别是你没有得到任何32位功能,除非你付费。而且只能在DOS下使用。
•gas是免费的,可移植到DOS和Unix,但它不是很好,因为它是设计为gcc的后端,它总是输入正确的代码。所以它的错误检查是最小的。同时,从任何试图实际写点东西的角度来看它的语法是可怕的。加上你不能写−16位代码(正确)。
•as86特定于Minix和Linux,并且(至少我的版本)似乎没有多少(或任何)文档。
•MASM不是很好实现,是昂贵的,而且它只在DOS下运行(NT下也可以运行，似乎搞到免费版的也很容易-译者注)。
•TASM更好,但它仍然希望实现对MASM的兼容性,这意味着数以百万计的繁文缛节。及其语法本质上是MASM的实现,需要的矛盾和怪癖(尽管它整理一些通过理想模式)。它也很贵。只能用在DOS下。
为你的编码快乐,这里是NASM。目前仍在原型阶段,我们不保证它可以超越这些汇编。但请寄bug报告,请修复、有用的信息,和其他任何你能让你的手(和感谢很多人已经这样做了!你知道你是谁),我们将不断改进它。
1.1.2许可条件
请参阅文件许可,提供的任何NASM分发存档,可以使用NASM的许可条件。NASM正在称为2−−条款BSD许可,也被称为简化BSD许可。
版权1996−2011 NASM作者-版权所有。
再分配和使用源代码和二进制形式,有或没有修改,允许提供满足下列条件:
•以源代码必须保留未经修改的上述版权声明,这个列表的条件以及其后的免责声明。
•以二进制形式重新发布必须保留未经修改的上述版权通知,这个列表的条件以及其后的免责声明提供的文档和/或其他材料分布。
这个软件是由版权所有者和贡献者提供的“是”,任何明示或默示保证,包括但不限于适销性的隐含保证是否认和健身为特定目的。没有版权所有者或贡献者概对任何直接、间接、附带、特别,模范,或间接的损害赔偿(包括但不限于采购替代产品或服务;使用,数据,或利润;或业务中断)然而造成责任和任何理论,无论是在合同,严格责任,或侵权行为(包括疏忽或其他)引起的以任何方式使用该软件,即使建议的这种损害的可能性。
